This invention relates to the viewing of data in multi-channel electronic acquisition instrument displays, and more particularly to a method of selectively processing a subset of acquired data for inclusion in a multi-channel electronic acquisition instrument display.
[Not applicable]
[Not applicable]
Historically, users have been able to display a subset of the channels for which data was acquired, masking out the data associated with channels that are not presently of interest to the user. This form of data suppression selects which channels of data are of interest. Individual channels and groups of channels can be selected for display or hidden from view, according to user preference. These decisions can be made before or after data is acquired. Whenever these decisions are made, they serve to mask channels of data from view.
In the past the most common way to suppress samples is to reduce the number of samples stored in the instrument at the time data was acquired. This had the problem that if the operator needed more samples to evaluate he had to increase memory depth and re-acquire data. This is time consuming and expensive if the problem being analyzed is hard to reproduce.
Historically, other forms of filtering have also been available along the sample or time axis. The data filtering along this axis has been, in one manner or another, filtering in accordance with some sort of dependence on the data acquired. Individual bits are examined to determine if the sample is to be displayed or suppressed. This is known as xe2x80x9cdata qualificationxe2x80x9d, and it can be applied during the acquisition process or after the data is acquired. The latter is known as xe2x80x9cpost-processingxe2x80x9d.
A more complex form of post-processing is xe2x80x9cdisassembly. Assembly is the conversion of microprocessor code, that language used by the programmer, into the specific patterns of 1""s and 0""s that are understood by a particular type of microprocessor. Disassembly is the reverse process, converting 1""s and 0""s used by the microprocessor back into assembly language that can be understood by the programmer. This process requires examining large amounts of acquired data and converting it to processor mnemonics.
A variety of data simplifications can be applied during the display of Disassembled data in the instrument. Hardware cycles can be suppressed, leaving only the software execution operations available in a clear and concentrated form. Program control flow strips out all samples except for those that caused a branch, subroutine call subroutine return or interrupt call or return during processor execution. Alternatively, only program subroutine entrance and exit cycles can be shown, creating an outline-like view of the software subroutines that have been executed.
xe2x80x9cState-basedxe2x80x9d filtering is another form of general purpose filtering. The operator-supplied filter examines acquired data one sample at a time and controls, which samples are to be presented for display. (State machines generally examine the state of old data and new data and go to a corresponding next state.) State based filters are powerful tools, but they also require a lot of processing time to read and evaluate data before it can be displayed. This type of filter is known as xe2x80x9cstate-basedxe2x80x9d because each acquired sample is dealt with according to the prior data state as well as the current state data, much like a trigger state machine (or the generic state machine described above).
Over the years, as the price of memory has gone way down and the length of the data records captured by multi-channel electronic acquisition instruments has gone way up, relatively huge memory depths have become increasingly common. As acquisition memories become longer, more time consuming to acquire, and unwieldy to analyze, new methods for focusing operator attention into the most relevant portions of the data are increasingly valuable.
Ideally, a tool for accomplishing this filtering would not add overhead to the display process, as manipulating very large data records already requires a lot of time. It is expected that this filtering tool is used in conjunction with other types of filters. In other words, this data filter supplements other types of filters, rather than replacing them.
In accordance with the present invention, arbitrary sets of samples may be suppressed from display and analysis. The resulting record may then be saved in its full form, i.e., unsuppressed and suppressed, or abbreviated, unsuppressed only, form. Such a record may also be retrieved and arbitrarily partially suppressed a second or third time, making a series of smaller and less complete acquisition histories. Each of these records may be saved with or without suppressed samples and may be later redisplayed, reliably showing those samples originally saved and their attributes, such as the time the sample was stored and its original sample number). Records saved without suppressed samples are permanently lost.